package com.sinosoft.brokerchannel.entity.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sinosoft.brokerchannel.base.model.AbstractRequestMain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 保费试算的requestMain
 */
@ApiModel(value = "CarQuotePriceRequestMain")
@Data
@EqualsAndHashCode(callSuper = true)
public class CarQuotePriceRequestMain extends AbstractRequestMain {
    /**
     * 基本信息
     */
    @ApiModelProperty(value = "基本信息",//说明
            name = "BaseVO", //重命名
            dataType = "类",//类型
            required = true, //是否必传,默认false
            //是否允许空值
            position = 1 //位置
    )
    @JsonProperty(value = "BaseVO")
    private BaseVO baseVO;
    /**
     * 投保人信息
     */
    @ApiModelProperty(hidden = true)
    @JsonProperty(value = "ApplicantVO")
    private ApplicantVO applicantVO;
    /**
     * 被保人信息
     */
    @ApiModelProperty(value = "被保险人信息",//说明
            name = "InsuredVO", //重命名
            dataType = "类",//类型
            required = true, //是否必传,默认false
            position = 2)
    @JsonProperty(value = "InsuredVO")
    private InsuredVO insuredVO;
    /**
     * 车主信息
     */
    @ApiModelProperty(value = "车主信息",//说明
            dataType = "类",//类型
            required = true, //是否必传,默认false
            //是否允许空值
            position = 3)
    @JsonProperty(value = "VhlownerVO")
    private VhlownerVO vhlownerVO;
    /**
     * 交强险信息
     */
    @ApiModelProperty(value = "交强险信息",//说明
            dataType = "类",//类型
            //是否必传,默认false
            //是否允许空值
            position = 4)
    @JsonProperty(value = "PackageJQVO")
    private PackageJQVO packageJQVO;
    /**
     * 商业险信息
     */
    @ApiModelProperty(value = "商业险信息",//说明
            dataType = "类",//类型
            //是否必传,默认false
            //是否允许空值
            position = 5)
    @JsonProperty(value = "PackageSYVO")
    private PackageSYVO packageSYVO;
    /**
     * 是否二次算费标志位
     */
    private String flag;
}
